首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏国标视频云平台

    SkeyePlayer RTSP Windows播放器抓图代码重构

    SkeyePlayer RTSP Windows端(下文简称:SkeyePlayer)播放器之前抓图代码主要通过OpenCV来实现,且数据格式转换的效率过于低下;故而在当时的代码中采用线程机制来解决抓图导致视频播放时卡顿的问题 当然强大的格式转换函数也支持图像的缩放,且效率很高; 图像编码,细心的同学不难发现,ffmpeg的编码和存文件/推送流的代码是通用的,这套代码可以用来抓图也可以用来编码H264、265等然后存文件(如MP4等)或者推送RTMP/RTSP

    76920编辑于 2023-04-19
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTSP播放器、RTMP播放器几点设计细节讨论

    我们在实现Windows平台RTSP播放器或RTMP播放器的时候,需要考虑的点很多,比如多实例设计、多绘制模式兼容、软硬解码支持、快照、RTSP下TCP-UDP自动切换等,以下就其中几个方面,做个大概的探讨 视频绘制模式 我们在实现Windows平台播放的时候,一般首选D3D,D3D不支持的情况下,考虑数据回上来,采用GDI模式,一般实现如下,先做D3D检测,以大牛直播SDK播放端为例(Github),调用 特定机型硬解码 Windows平台硬解码,主要适用于性能偏弱的PC端,或者有多路播放诉求的场景,一般建议在软解性能没问题的情况下,尽量软解,具体处理如下,先检测系统是否支持硬解,如果支持,再做硬解设置, 实时快照 实时快照功能不表,是一个好的RTSP播放器和RTMP播放器必备的功能,实时快照是把解码后的yuv数据重新编码成png,所以有一定的CPU消耗,不建议过于频繁操作,具体实现如下: 和RTMP播放器设计过程中的其他点,做更进一步的探讨,谢谢大家的关注。

    1.9K00发布于 2020-06-07
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTMP|RTSP播放器实现画面全屏功能

    我们在Windows平台实现RTSP或者RTMP播放的时候,有个功能是绕不开的,那就是播放窗口全屏。 本文就以大牛直播SDK(官方)的Windows播放器为例,大概讲下大概实现: 全屏播放需要考虑的点不多: 第一:视频播放后,全屏的意义; 第二:全屏后,是否等比例显示,我们的设计原则是,之前等比例显示的

    1.1K20发布于 2021-05-13
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTMP播放器RTSP播放器播放窗口添加OSD文字叠加

    好多开发者在做Windows平台特别是单屏多画面显示时,希望像监控摄像机一样,可以在播放画面添加OSD台标,以实现字符叠加效果,大多开发者可很轻松的实现以上效果,针对此,本文以大牛直播SDK (Github )的Windows平台demo为例,简单介绍下具体实现: Windows平台RTMP播放器RTSP播放器C++ demo Windows平台C++的demo,以录像过程为例,动态在左上角显示个闪动的图标 logo_image->data_.swap(buffer); } bitmap.UnlockBits(&locked_bitmapData); } return logo_image; } Windows 平台RTMP播放器RTSP播放器C# demo Windows平台C#的demo,添加了“设置台标”选择框,在player窗口左上角显示“叠加字符展示”,具体内容、坐标可自定义,具体效果如下: 添加osd.png

    3K50发布于 2021-03-01
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTMP、RTSP播放器录像模块精细化控制

    ​技术背景上篇文章,我们介绍了Unity平台RTMP、RTSP播放器录像功能,这里,我们详细的介绍下,做个RTSP或RTMP拉流端录像模块有哪些需要考虑的技术点? 在我们常规的考量,RTMP或RTSP流录制,无非就是拉取数据写文件而已,接口设计StartRecorder()/StopRecorder()足矣。 除了上述的设计,还需要确保和RTSP、RTMP播放在一个实例下,确保播放的过程中可以随时录像,录像的过程中,可以随时播放。 录像模块设计无图无真相,先看录像设置:图片开始录像、停止录像:图片Windows平台,我们提供了C++和C#的接口,本文以C++接口设计为例:先说录像设置:设置录制纯音频或纯视频: /**

    1.3K00编辑于 2022-12-24
  • 来自专栏RTSP/RTMP直播相关

    RTSP协议探究和RTSP播放器技术实现

    RTSP协议探究RTSP播放器可广泛应用于对延迟要求比较高的场景下,比如协同操控相关的智能机器人或无人机、实时视频监控、远程视频会议、网络电视等。通过控制信令实现对流媒体数据的远程控制和传输管理。 如何实现RTSP播放器 本文以大牛直播SDK的Windows平台RTSP直播播放器为例,大概介绍下,如何集成RTSP直播播放能力。 NT_SP_E_VIDEO_FRAME_FORMAT_RGB32 = 1, // 32位的rgb格式, r, g, b各占8, 另外一个字节保留, 内存字节格式为: bb gg rr xx, 主要是和windows xx, 依次是rr, gg, bb NT_SP_E_VIDEO_FRAME_FORMAT_ARGB = 2, // 32位的argb格式,内存字节格式是: bb gg rr aa 这种类型,和windows (player_handle_, 0); }}else{ is_gdi_render_ = true; playWnd.Visible = false; // 不支持D3D就让播放器吐出数据来

    1.7K10编辑于 2024-08-08
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTMP|RTSP播放器为什么要兼容GDI绘制

    为什么要支持GDI 先说结论,Windows平台播放渲染这块,一般来说99%以上的机器都是支持D3D的,实现GDI模式绘制,除了为了好的兼容性外,在远程连接的场景下,D3D创建不成功,需要使用GDI模式 简单来说,Windows平台的RTMP播放器RTSP播放器,设计如果系统支持D3D,优先D3D,如果检测到不支持D3D,数据回调上来,GDI模式绘制。 上图以1920*1080分辨率、30帧、固定码率(采集屏幕左侧区域)为例,通过大牛直播SDK ( 官方 ) 的Windows平台SmartPublisherDemo.exe工具推送到内网nginx服务器 1 : 0); } else { is_gdi_render_ = true; // 不支持D3D就让播放器吐出数据来,用GDI绘制 wrapper_render_wnd

    75440发布于 2021-05-13
  • 来自专栏RTSP/RTMP直播相关

    【技术分享】Windows平台低延迟RTMP、RTSP播放器接口设计探讨

    背景我们看过了太多介绍RTSP、RTMP播放相关的技术资料,大多接口设计简约,延迟和扩展能力也受到一定的局限,好多开发者希望我们能从接口设计的角度,大概介绍下大牛直播SDK关于RTMP、RTSP播放器开发设计 ,本文以Windows平台RTMP、RTSP播放模块为例,大概介绍下常用的接口。 图片接口设计Windows平台我们是C接口,对外C++和C#均可正常调用,本文就以C++为例,大概介绍下常用的接口设计。1. 1 : 0);总结以上就是大牛直播SDK(官网)关于Windows平台RTSP、RTMP播放器接口设计需要参考的点,其他还有些,比如如果不支持D3D,GDI模式绘制,播放界面叠加实时文字,播放画面全屏等 ,这里就不再赘述,除Windows平台外,我们还同步开发了Linux、Android、iOS平台的RTSP、RTMP播放器,大多常规接口四个平台基本统一,延迟也都做到了毫秒级。

    2.3K10编辑于 2023-01-09
  • 来自专栏RTSP/RTMP直播相关

    RTSP播放器技术选型指南

    通过全自研技术框架,大牛直播SDK的RTSP播放器以功能齐全、性能优异、超低延迟、低代码低集成复杂度,在行业内享有较高的评价,服务了数百家B端用户。 以Windows平台为例,海康摄像头2560*1440分辨率、8M码率的RTSP流,左侧是VLC播放器,有测试大牛直播SDK的SmartPlayer的,可以看到,SmartPlayer延迟200毫秒左右 跨平台支持多平台兼容:大牛直播SDK的RTSP播放器支持Windows、Linux(x86_64|aarch64)\Android、iOS多个平台,满足了不同场景下的使用需求。 客户评价与市场认可客户反馈:数百家业内公司一致认可,大牛直播SDK的RTSP播放器在性能、稳定性和功能方面均表现出色。 ,此外,还支持RTSP MJPEG播放; [音频格式]支持AAC/PCMA/PCMU; [H.264/H.265软解码]支持H.264/H.265软解; [H.264硬解码]Windows/Android

    1.1K10编辑于 2024-09-06
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTSP|RTMP播放器如何实现细粒度录像控制

    技术设计本文以大牛直播SDK的Windows平台RTSP|RTMP直播播放录制功能设计为例,谈谈我们的接口的细粒度设计。 目前,我们录像模块,涵盖了Windows/Linux/android/iOS 推送端(涵盖轻量级RTSP服务模块、RTMP推流模块和GB28181设备接入模块)和RTSP|RTMP播放端,主要实现了如下功能 : [拉流]支持拉取RTSP流录像; [拉流]支持拉取RTMP流录像; [推流端录像]支持RTMP|RTSP推送端同步录像; [轻量级RTSP服务录像]支持轻量级RTSP服务SDK同步录像; [推流端录像实时暂停 /恢复]支持推送端录像过程中实时暂停录像、恢复录像; [逻辑分离]大牛直播录像SDK不同于普通录像接口,更智能,和推送、播放、转发、内置轻量级RTSP服务SDK功能完全分离,支持随时录像; [url切换 专注做好一件事,极致做精一件事,口碑做成一件事,比快更快,让RTSP|RTMP直播播放器更适用于延迟要求苛刻的使用场景(如平衡控制、无人机、智能机器人等),是我们一直的追求。

    96210编辑于 2024-04-17
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTSP播放器选型与低延迟全解析及技术实践

    为什么 Windows 端的 RTSP 播放“门槛”更高? 协议与链路复杂度:Windows 原生并不直接提供完善的 RTSP 播放链路支持,RTP 解复用、乱序重组、缓存管理都需要播放器自行实现或依赖第三方库,稍有疏忽就会引发花屏、音画不同步或延迟积累。 Windows 端主流技术路线对比在 Windows 平台实现 RTSP 播放,有多条可行的技术路线,不同方案在协议支持、延迟控制、弱网适应性、渲染效率、集成成本等方面差异显著。 适用场景:需要深度 Windows 原生化、对延迟和渲染质量有极致把控要求的项目,如大型本地化媒体处理系统或深度嵌入 Windows 应用的播放器模块。 结语在 Windows 平台选择 RTSP 播放器,从来不只是“能不能播”的技术判断,而是一场涉及延迟控制、播放稳定性、并发能力与运维成本的全局博弈。

    73210编辑于 2025-08-14
  • 来自专栏RTSP/RTMP直播相关

    RTSP播放器开发填坑之道

    好多开发者提到,在目前开源播放器如此泛滥的情况下,为什么还需要做自研框架的RTSP播放器,自研和开源播放器,到底好在哪些方面?以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延迟:大多数RTSP的播放都面向直播场景,如果延迟过大,严重影响体验,所以,低延迟是衡量一个好的RTSP播放器非常重要的指标,目前大牛直播SDK的RTSP直播播放延迟比开源播放器更优异(大牛直播SDK 支持多实例:大牛直播SDK提供的RTSP直播播放SDK支持在设备性能允许的情况下,支持多实例播放RTSP流数据,大多开源播放器对多实例支持不太友好; 4. 长期运行稳定性:大牛直播SDK提供的RTSP直播播放SDK适用于长时间运行,开源播放器对长时间运行稳定性支持较差; 11. D3D检测:一般来说市面上的大多Windows都支持D3D,有些小众化的,只支持GDI模式绘制,所以为了更好的兼容性,这个接口非常必要; 15.

    2.6K40发布于 2021-03-17
  • 来自专栏RTSP/RTMP直播相关

    如何设计开发RTSP直播播放器

    ​技术背景我们在对接RTSP直播播放器相关技术诉求的时候,好多开发者,除了选用成熟的RTSP播放器外,还想知其然知其所以然,对RTSP播放器的整体开发有个基础的了解,方便方案之作和技术延伸。 技术实现技术难点在探讨RTSP直播播放器技术实现之前,我们先来看,为什么RTSP播放器的开发看似简单,实则复杂,或者说做播放器容易,做个好的播放器,为什么就那么难? 跨平台开发的挑战适应不同的操作系统和设备 RTSP 播放器需要在不同的操作系统和设备上运行,如 Windows、Linux、Android、iOS 等。 ; [H.264/H.265软解码]支持H.264/H.265软解; [H.264硬解码]Windows/Android/iOS支持特定机型H.264硬解; [H.265硬解]Windows/Android 长期运行稳定性:不同于市面上的开源播放器,大牛直播SDK提供的Windows平台RTSP直播播放SDK适用于数天长时间运行,开源播放器对长时间运行稳定性支持较差;12. log信息记录:整体流程机制记录到

    1.7K10编辑于 2024-10-12
  • 来自专栏国标视频云平台

    SkeyePlayer RTSP Windows播放器OSD字幕叠加接口方法和使用效果全解析

    SkeyePlayer RTSP Windows播放器新增OSD字幕叠加接口方法,这个接口和码率信息显示接口方法类似,都是调用FFRender库的接口实现的多OSD叠加,下面讲解下该方法的调用和注意事项 ID,标识当前的播放器实例;show:标识是否显示OSD叠加,0=不现实 1=显示osd:显示信息填充结构,定义如下: typedef struct tagSkeye_PALYER_OSD { char 5000;osd.rect.top = 100;osd.rect.bottom = 800;osd.shadowcolor = RGB(0,0,0);char* ss = "这是SkeyePlayer-RTSP-Win 播放器 \r\n的字幕叠加接口的效果!!! 图片此外,目前版本的SkeyePalyer RTSP Windows播放器只支持软解码的OSD叠加显示,硬解码目前还不支持。

    58430编辑于 2023-04-19
  • 来自专栏RTSP/RTMP直播相关

    RTSP播放器或RTMP播放器常用Event事件回调设计

    很多开发者在开发RTSP或RTMP播放器的时候,不晓得哪些event回调事件是有意义的,针对此,我们以大牛直播SDK(github)的Android平台RTSP/RTMP直播播放端为例,简单介绍下常用的 流实时下载回调:显示播放rtsp或rtmp流时,实时流量,注意,这块最好是可设置回调时间间隔,防止不必要的资源消耗; 8. RTSP错误状态:如401鉴权不通过。 会返回缓冲百分比)EVENT_DANIULIVE_ERC_PLAYER_STOP_BUFFERING停止缓冲数据EVENT_DANIULIVE_ERC_PLAYER_DOWNLOAD_SPEED返回当前 RTSP /RTMP 流 实时下载速度EVENT_DANIULIVE_ERC_PLAYER_RTSP_STATUS_CODERTSP 收到错误码,可能 是用户名、密码不对

    1.3K22发布于 2020-10-15
  • 来自专栏RTSP/RTMP直播相关

    如何选择适合行业场景的RTSP播放器

    RTSP播放器选型指南选择合适的RTSP播放器时,需要考虑多个方面以确保其能够满足您的具体需求。以下是一些关键的选择标准和建议:一、功能需求 低延迟:对于直播或实时监控场景,低延迟是至关重要的。 选择一个能够保持较低延迟(如几百毫秒)的RTSP播放器,以确保实时性。 音视频同步:确保播放器能够正确处理音视频同步,避免出现音画不同步的情况。 跨平台支持:根据您的应用场景,选择一个支持多种操作系统(如Windows、Linux、Android、iOS等)的播放器,以便在不同设备上使用。 对应Demo: Windows测试程序:SmartPlayer.exe; Windows C++工程:WIN-PlayerSDK-CPP-Demo; Windows C#工程:WIN-PlayerSDK-CSharp-Demo 通过仔细比较不同播放器的优缺点和适用场景,您可以选择出最适合自己需求的RTSP播放器。感兴趣的开发者,可以单独跟我沟通探讨。​

    71110编辑于 2024-09-17
  • 来自专栏RTSP/RTMP直播相关

    Android平台RTSP|RTMP播放器(SmartPlayer)集成必读

    从高效率的角度,磨刀不误砍柴工,在模块集成之前,还是希望开发者能了解播放器集成的一些前置条件,少走弯路,尽快完成RTSP、RTMP低延迟播放能力构建。 本文不关注接口集成调用细节,主要介绍下,播放器集成的一些前置条件和注意事项。 |RTMP直播播放器Demo工程源码SmartPlayerV2\app\src\main\jniLibssmartavengine.jar和libSmartPlayer.soSmartPlayerV2\ app\src\main\java\com\daniulive\smartplayer\SmartPlayerJniV2.java播放器头文件SmartPlayerV2\app\src\main\java ;支持软解码,特定机型硬解码;支持RTSP TCP、UDP模式设置;支持RTSP TCP、UDP模式自动切换;支持RTSP超时时间设置,单位:秒;支持buffer时间设置,单位:毫秒;支持超低延迟模式;

    1.3K10编辑于 2024-09-05
  • 来自专栏RTSP/RTMP直播相关

    QT下实现低延迟RTSP|RTMP播放器

    好多开发者在QT环境下实现RTMP或RTSP播放时,首先考虑到的是集成VLC,集成后,却发现VLC在延迟、断网重连、稳定性等各个方面不尽人意,无法满足上线环境需求。 本文以调用大牛直播SDK(官方)的Windows平台播放端SDK为例,介绍下如何在QT下实现低延迟的RTMP|RTSP播放器,废话不多说,先上图: QTPlayer.png 大牛直播SDK有MFC的demo OpenPlayerHandle(url, is_rtsp_tcp_mode, is_mute)) return false; player_api_->SetBuffer(player_handle is_recording_) { return; } if (NT_SP_E_EVENT_ID_RTSP_STATUS_CODE == event_id) { int status_code play->IsPlaying()) { QString play_url = "rtsp://admin:admin123456@192.168.0.121:554

    2.2K80发布于 2021-04-30
  • 来自专栏国标视频云平台

    SkeyePlayer RTSP播放器库API接口说明

    概述libSkeyePlayer实现对RTSP直播流进行实时采集和解码显示,稳定,高效,低延时;解码可采用intel硬件解码和软件解码两种方式,能实时进行录像和快照抓图,OSD叠加等功能。 API接口函数定义 int SkeyePlayer_Init();函数说明:播放器初始化,播放器使用之前调用;参数说明: void SkeyePlayer_Release();函数说明:播放器资源释放 ,播放器不再使用以后调用;参数说明:int SkeyePlayer_OpenStream(const char url, HWND hWnd, RENDER_FORMAT renderFormat, ;返回值为当前播放的通道ID,该ID在停止推流时需要用到;参数说明:Url:IN 字符串类型,表示当前要播放的流地址,Eg: rtsp://127.0.0.1:554/stream.sdpHWnd: IN 窗口句柄类型,表示为当前播放器将显示的窗口的句柄;renderFormat:IN 播放渲染类型,详见RENDER_FORMAT结构;Rtpovertcp:IN 整数型,拉取流的传输模式,0=udp,

    64940编辑于 2023-04-19
  • 来自专栏RTSP/RTMP直播相关

    Android平台RTSP|RTMP直播播放器技术接入说明

    初始化接口 SmartPlayerOpen:初始化播放器,设置上下文信息,返回播放实例句柄。 SetSmartPlayerEventCallbackV2:设置事件回调接口,用于接收播放器的状态信息。 2. RTSP 设置接口 SmartPlayerSetRTSPTcpMode:设置 RTSP TCP/UDP 模式。 RTSP 模式:支持 RTSP TCP、UDP 模式设置及自动切换。 超时设置:支持 RTSP 超时时间设置,单位为秒。 缓冲设置:支持 buffer 时间设置,单位为毫秒。 资源释放在 onDestroy() 方法中,停止播放、录像,并释放播放器实例句柄:@Overrideprotected void onDestroy() { Log.i(TAG, "Run into

    1.1K20编辑于 2025-03-02
领券